package com.woniu.user.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * 外部用户信息对象 tb_customer
 *
 * @author yy
 * @date 2023-04-03
 */
@ApiModel(value = "Customer", description = "外部用户信息")
public class Customer implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty("主键")
    private Long customerId;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    @ApiModelProperty("用户姓名")
    private String customerName;

    /** 用户登录账号 */
    @Excel(name = "用户登录账号")
    @ApiModelProperty("用户登录账号")
    private String customerAccount;

    /** 密码 */
    @Excel(name = "密码")
    @ApiModelProperty("密码")
    private String customerPassword;

    /** email邮箱 */
    @Excel(name = "email邮箱")
    @ApiModelProperty("email邮箱")
    private String customerEmail;

    /** 用户类型1-管理员 2-普通外部用户 */
    @Excel(name = "用户类型1-管理员 2-普通外部用户")
    @ApiModelProperty("用户类型1-管理员 2-普通外部用户")
    private Long customerType;

    /** 1-有效 2-无效 3-锁定 */
    @Excel(name = "1-有效 2-无效 3-锁定")
    @ApiModelProperty("1-有效 2-无效 3-锁定")
    private Long customerStatus;

    /** 用户手机号码 */
    @Excel(name = "用户手机号码")
    @ApiModelProperty("用户手机号码")
    private String customerPhone;

    /** 性别 '1’-男 '0'-女 */
    @Excel(name = "性别 '1’-男 '0'-女")
    @ApiModelProperty("性别 '1’-男 '0'-女")
    private String customerGender;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("生日")
    private Date customerBirthday;

    /** 用户简介 */
    @Excel(name = "用户简介")
    @ApiModelProperty("用户简介")
    private String customerAutograph;

    /** 积分 */
    @Excel(name = "积分")
    @ApiModelProperty("积分")
    private Long customerPoints;

    /** 用户图片 */
    @Excel(name = "用户图片")
    @ApiModelProperty("用户图片")
    private String customerPhoto;

    /** 账户锁定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账户锁定时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("账户锁定时间")
    private Date customerLockTime;

    /** 1-未使用过新人优惠券 2-已经使用过新人优惠券 */
    @Excel(name = "1-未使用过新人优惠券 2-已经使用过新人优惠券")
    @ApiModelProperty("1-未使用过新人优惠券 2-已经使用过新人优惠券")
    private Long newCustomerCouponUsed;

    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }
    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }

    public String getCustomerName()
    {
        return customerName;
    }
    public void setCustomerAccount(String customerAccount)
    {
        this.customerAccount = customerAccount;
    }

    public String getCustomerAccount()
    {
        return customerAccount;
    }
    public void setCustomerPassword(String customerPassword)
    {
        this.customerPassword = customerPassword;
    }

    public String getCustomerPassword()
    {
        return customerPassword;
    }
    public void setCustomerEmail(String customerEmail)
    {
        this.customerEmail = customerEmail;
    }

    public String getCustomerEmail()
    {
        return customerEmail;
    }
    public void setCustomerType(Long customerType)
    {
        this.customerType = customerType;
    }

    public Long getCustomerType()
    {
        return customerType;
    }
    public void setCustomerStatus(Long customerStatus)
    {
        this.customerStatus = customerStatus;
    }

    public Long getCustomerStatus()
    {
        return customerStatus;
    }
    public void setCustomerPhone(String customerPhone)
    {
        this.customerPhone = customerPhone;
    }

    public String getCustomerPhone()
    {
        return customerPhone;
    }
    public void setCustomerGender(String customerGender)
    {
        this.customerGender = customerGender;
    }

    public String getCustomerGender()
    {
        return customerGender;
    }
    public void setCustomerBirthday(Date customerBirthday)
    {
        this.customerBirthday = customerBirthday;
    }

    public Date getCustomerBirthday()
    {
        return customerBirthday;
    }
    public void setCustomerAutograph(String customerAutograph)
    {
        this.customerAutograph = customerAutograph;
    }

    public String getCustomerAutograph()
    {
        return customerAutograph;
    }
    public void setCustomerPoints(Long customerPoints)
    {
        this.customerPoints = customerPoints;
    }

    public Long getCustomerPoints()
    {
        return customerPoints;
    }
    public void setCustomerPhoto(String customerPhoto)
    {
        this.customerPhoto = customerPhoto;
    }

    public String getCustomerPhoto()
    {
        return customerPhoto;
    }
    public void setCustomerLockTime(Date customerLockTime)
    {
        this.customerLockTime = customerLockTime;
    }

    public Date getCustomerLockTime()
    {
        return customerLockTime;
    }
    public void setNewCustomerCouponUsed(Long newCustomerCouponUsed)
    {
        this.newCustomerCouponUsed = newCustomerCouponUsed;
    }

    public Long getNewCustomerCouponUsed()
    {
        return newCustomerCouponUsed;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("customerId", getCustomerId())
            .append("customerName", getCustomerName())
            .append("customerAccount", getCustomerAccount())
            .append("customerPassword", getCustomerPassword())
            .append("customerEmail", getCustomerEmail())
            .append("customerType", getCustomerType())
            .append("customerStatus", getCustomerStatus())
            .append("customerPhone", getCustomerPhone())
            .append("customerGender", getCustomerGender())
            .append("customerBirthday", getCustomerBirthday())
            .append("customerAutograph", getCustomerAutograph())
            .append("customerPoints", getCustomerPoints())
            .append("customerPhoto", getCustomerPhoto())
            .append("customerLockTime", getCustomerLockTime())
            .append("newCustomerCouponUsed", getNewCustomerCouponUsed())
            .toString();
    }
}
